package com.drug.wms.service;


import com.drug.wms.domain.BusGoodsStockDetail;
import com.drug.wms.domain.BusGoodsStockDetailList;

import java.util.List;

/**
 * 商品入库清单详情Service接口
 *
 * @author ruoyi
 * @date 2021-12-01
 */
public interface IBusGoodsStockDetailService {
    /**
     * 查询商品入库清单详情
     *
     * @param id 商品入库清单详情主键
     * @return 商品入库清单详情
     */
    public BusGoodsStockDetail selectBusGoodsStockDetailById(String id);

    /**
     * 查询商品最近入库信息
     *
     * @param goodsNo 商品编号
     * @return 商品入库清单详情
     */
    public BusGoodsStockDetail selectBusGoodsStockDetailLatestByGoodsNo(String goodsNo);

    /**
     * 查询商品入库清单详情列表
     *
     * @param busGoodsStockDetail 商品入库清单详情
     * @return 商品入库清单详情集合
     */
    public List<BusGoodsStockDetail> selectBusGoodsStockDetailList(BusGoodsStockDetail busGoodsStockDetail);

    /**
     * 查询商品入库清单详情列表通过Or
     * @param busGoodsStockDetail
     * @return
     */
    List<BusGoodsStockDetail> selectBusGoodsStockDetailListByOr(BusGoodsStockDetail busGoodsStockDetail);

    /**
     * 新增商品入库清单详情
     *
     * @param busGoodsStockDetail 商品入库清单详情
     * @return 结果
     */
    public int insertBusGoodsStockDetail(BusGoodsStockDetail busGoodsStockDetail);

    /**
     * 新增商品入库清单详情
     *
     * @param busGoodsStockDetailList 商品入库清单详情
     * @return 结果
     */
    public int insertBusGoodsStockDetail(BusGoodsStockDetailList busGoodsStockDetailList);

    /**
     * 批量增加药品
     * @param busGoodsStockDetail
     * @return
     */
    public int insertBusGoodsStockDetail(BusGoodsStockDetail[] busGoodsStockDetail);

    /**
     * 修改商品入库清单详情
     *
     * @param busGoodsStockDetail 商品入库清单详情
     * @return 结果
     */
    public int updateBusGoodsStockDetail(BusGoodsStockDetail busGoodsStockDetail);

    /**
     * 批量修改商品入库清单详情
     *
     * @param busGoodsStockDetail 商品入库清单详情
     * @return 结果
     */
    int updateBusGoodsStockDetail(BusGoodsStockDetail[] busGoodsStockDetail);
    /**
     * 批量删除商品入库清单详情
     *
     * @param ids 需要删除的商品入库清单详情主键集合
     * @return 结果
     */
    public int deleteBusGoodsStockDetailByIds(String[] ids);

    /**
     * 删除商品入库清单详情信息
     *
     * @param id 商品入库清单详情主键
     * @return 结果
     */
    public int deleteBusGoodsStockDetailById(String id);
}
